package com.ruoyi.scm.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 供应链SCM-采购管理-采购计划子对象 scm_purchase_plan_item
 *
 *@author Ryan
 *@date 2025-03-12
 */
@ApiModel("供应链SCM-采购管理-采购计划子对象")
public class ScmPurchasePlanItem extends BaseEntity {

    /** id */
    @ApiModelProperty("编号")
    private Long id;

    /** 计划id */
    @ApiModelProperty("计划id")
    private Long purchasingPlanId;

    /** 物料id */
    @ApiModelProperty("物料id")
    private Long materialId;

    /** 采购数量 */
    @Excel(name = "采购数量")
    @ApiModelProperty("采购数量")
    private Integer purchaseQuantity;

    /** 需求数量 */
    @Excel(name = "需求数量")
    @ApiModelProperty("需求数量")
    private Integer demandedQuantity;

    /** 需求日期 */
    @Excel(name = "需求日期")
    @ApiModelProperty("需求日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date demandedDate;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String materialName;

    /** 型号 */
    @Excel(name = "型号")
    @ApiModelProperty("型号")
    private String materialModel;

    /** 规格 */
    @Excel(name = "规格")
    @ApiModelProperty("规格")
    private String materialSpecifications;

    /** 单位 */
    @Excel(name = "单位")
    @ApiModelProperty("单位")
    private String materialUnit;

    /** 单价 */
    @Excel(name = "单价")
    @ApiModelProperty("单价")
    private Double materialPrice;

    private String remark;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getPurchasingPlanId() {
        return purchasingPlanId;
    }

    public void setPurchasingPlanId(Long purchasingPlanId) {
        this.purchasingPlanId = purchasingPlanId;
    }

    public Long getMaterialId() {
        return materialId;
    }

    public void setMaterialId(Long materialId) {
        this.materialId = materialId;
    }

    public Integer getPurchaseQuantity() {
        return purchaseQuantity;
    }

    public void setPurchaseQuantity(Integer purchaseQuantity) {
        this.purchaseQuantity = purchaseQuantity;
    }

    public Integer getDemandedQuantity() {
        return demandedQuantity;
    }

    public void setDemandedQuantity(Integer demandedQuantity) {
        this.demandedQuantity = demandedQuantity;
    }

    public Date getDemandedDate() {
        return demandedDate;
    }

    public void setDemandedDate(Date demandedDate) {
        this.demandedDate = demandedDate;
    }

    public String getMaterialName() {
        return materialName;
    }

    public void setMaterialName(String materialName) {
        this.materialName = materialName;
    }

    public String getMaterialModel() {
        return materialModel;
    }

    public void setMaterialModel(String materialModel) {
        this.materialModel = materialModel;
    }

    public String getMaterialSpecifications() {
        return materialSpecifications;
    }

    public void setMaterialSpecifications(String materialSpecifications) {
        this.materialSpecifications = materialSpecifications;
    }

    public String getMaterialUnit() {
        return materialUnit;
    }

    public void setMaterialUnit(String materialUnit) {
        this.materialUnit = materialUnit;
    }

    public Double getMaterialPrice() {
        return materialPrice;
    }

    public void setMaterialPrice(Double materialPrice) {
        this.materialPrice = materialPrice;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "ScmPurchasePlanItem{" +
                "id=" + id +
                ", purchasingPlanId=" + purchasingPlanId +
                ", materialId=" + materialId +
                ", purchaseQuantity=" + purchaseQuantity +
                ", demandedQuantity=" + demandedQuantity +
                ", demandedDate=" + demandedDate +
                ", materialName='" + materialName + '\'' +
                ", materialModel='" + materialModel + '\'' +
                ", materialSpecifications='" + materialSpecifications + '\'' +
                ", materialUnit='" + materialUnit + '\'' +
                ", materialPrice=" + materialPrice +
                ", remark='" + remark + '\'' +
                '}';
    }
}
